If you don’t know which SQL is slow, then try one of the following (in order of simplicity):
If the problem can be recreated by a specific user and lasts for a minute or more, then you can have the user contact you when the problem hits. You can then use SQL*Text to find out what SQL they are currently running, or Oracle Trace to trace their entire session.
If the problem is isolated to a specific program / module / job / transaction, and SQL*Text was no help, you will need to SQL*Trace the program.
If application is slow in general, or causing unusually high load on the host, you need assistance from your DBA to find the problem. The best place to start is Top SQL, or if all else fails perfor a full Database Trace.
In recent years, Oracle has been shipping the RDBMS with more and more tuning tools such as SQL Tuning Advisor, Automatic Database Diagnostic Monitor, and the SQL Access Advisor. Usage and features of these tools is documented in the Oracle Performance Tuning Guide and is not covered in this guide. In fact, all of the tuning techniques described here (many of which date back to at least Oracle v5.1a) can be performed with nothing more than a SQL*Plus client.